﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Management;
using System.Text;

namespace LinkyPOS.Class
{
    class context
    {
        public static string unicodeToTrEncoding(string strIn)
        {
            Encoding enTr = Encoding.GetEncoding("utf-8");
            Encoding unicode = Encoding.Unicode;

            byte[] unicodeBytes = unicode.GetBytes(strIn);
            byte[] trBytes = Encoding.Convert(unicode, enTr, unicodeBytes);
            char[] trChars = new char[enTr.GetCharCount(trBytes, 0, trBytes.Length)];
            enTr.GetChars(trBytes, 0, trBytes.Length, trChars, 0);
            string trString = new string(trChars);

            return trString;
        }

        public static string karakterkill(string karakter)
        {
            string yenikarakter = "";

            for (int i = 0; i < karakter.Length; i++)
            {

                char c = karakter[i];

                switch (c)
                {
                    case 'ç':
                        c = 'c';
                        break;
                    case 'Ç':
                        c = 'C';
                        break;
                    case 'ş':
                        c = 's';
                        break;
                    case 'Ş':
                        c = 'S';
                        break;
                    case 'ö':
                        c = 'o';
                        break;
                    case 'Ö':
                        c = 'O';
                        break;
                    case 'ü':
                        c = 'u';
                        break;
                    case 'Ü':
                        c = 'U';
                        break;
                    case 'ğ':
                        c = 'g';
                        break;
                    case 'Ğ':
                        c = 'G';
                        break;
                    case 'İ':
                        c = 'I';
                        break;
                    case 'ı':
                        c = 'i';
                        break;
                    default:

                        break;
                }

                yenikarakter += c;
            }

            return yenikarakter;
        }
        public static void yaziciyagonder( string sipkod, string isimsoyisim, string gsm, ArrayList urunler, string toplam, string iskonto, string net,  string Odeme, ArrayList desc)
        {
            isimsoyisim = karakterkill(isimsoyisim);

            string ustbolum = "   " + panel.kurumsalisim + "        \n" +
                  "   1479 Sk. No:13/A  Alsancak/Izmir              \n" +
                  "   TEL:0 232 "+panel.telefon+"           \n"  +
                  "   GSM:0 551 442 68 28           \n" +
                  "------------------------------------------" + "\n\n" +
                  "   Siparis Kodu=" + sipkod + "                  " + "\n\n" +
                  "   Siparis Tarihi=" + DateTime.Now.ToString("G") + "\n\n" +
                  "   Teslim Tarihi=                                 \n" +
                  "   Odeme Durumu=" + karakterkill(Odeme) + "\n" +
                  "   Isim & Soyisim: " + isimsoyisim + "\n" +
                  "   GSM:" + gsm +  " \n"+
                  "   ADRESS:                                     "+"\n\n\n"+
                  "------------------------------------------" + "\n";

                string ortabolum = "Urun      |      islemi    |   Adet | Fiyat \n"+
                                   "-------------------------------------------\n";

                string aciklamalar = "";
                string altbolum = "Toplam =" + toplam + ",00 Tl. \n\n\n\n\n\n\n\n\n\n";
                 
                

                for (int i = 0; i < urunler.Count; i++)
                {
                    ortabolum += karakterkill(urunler[i].ToString()) + "\n";
                }
                for (int a = 0; a < desc.Count; a++)
                {
                    aciklamalar += karakterkill(desc[a].ToString()) + "\n";
                }
                //RawPrinterHelper.SendStringToPrinter("POS80", ustbolum + ortabolum +" \n\n\n"+aciklamalar+ altbolum);
           RawPrinterHelper.SendStringToPrinter(panel.yazici, ustbolum + ortabolum +" \n\n\n"+aciklamalar+ altbolum);




            }


        public static void yaziciyagonder3(string gunlukhasilat, string gunluknakit, string gunlukvisa, string eskihasilat, string eskivisa, string gunlukcari, string toplamcari,  string gunlukmasraf, string toplammus, string gunlukparca,string nakit,string slip)
        {



            string ustbolum = "------------ Dry Life      ----------\n\n" +
                   "     Kuru Temizleme Turizm Gida San ve Tic. A.S. \n\n" +
                "------------==================-----------\n\n" +
                "--- Kasa Raporu" + "\n\n" +
                "---Rapor tarihi= " + DateTime.Now.ToString("G") + "\n" +
                "---Rapor Saati = " + sadecesaat() + "\n" +
                "---Gunluk hasilat=" + karakterkill(gunlukhasilat) + "\n" +
                "---Gunluk Nakit=" + karakterkill(gunluknakit) + "\n" +
                "---Gunluk Visa=" + karakterkill(gunlukvisa) + "\n" +
                "---Eski nakit=" + karakterkill(eskihasilat) + "\n" +
                "---Eski Visa=" + karakterkill(eskivisa) + "\n" +
                "---Gunluk Cari=" + karakterkill(gunlukcari) + "\n" +
                "---Toplam Cari=" + karakterkill(toplamcari) + "\n" +
                "---Nakit=" + karakterkill(nakit) + "\n" +
                "---Slip=" + karakterkill(slip) + "\n" +
                          
                "---Gunluk Masraf=" + karakterkill(gunlukmasraf) + "\n" +
                "---Toplam musteri Sayisi    " + karakterkill(toplammus) +"\n"+
                "---Gunluk Parca Sayisi" + karakterkill(gunlukparca)
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n"
                + "\n";




            RawPrinterHelper.SendStringToPrinter(panel.yazici, ustbolum);


        }

        public static string sadecesaat()
        {
            string saat = DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second;

            return saat;


        }


        public static bool veritabaniyedekle()
        {
            bool durum = false;
            try
            {
                SqlConnection sqlcon = connection.baglanti;
                SqlCommand sqlcmd = new SqlCommand("BACKUP DATABASE linkypos TO DISK=D:\\linkyyedekler\\linkypos-"+DateTime.Now.ToString("d")+".bak", sqlcon);
                sqlcon.Open();
                sqlcmd.ExecuteNonQuery();
                sqlcon.Close();
                durum = true;
                return durum;
            }
            catch (Exception)
            {

                return durum;
            }
        
        }

        public static string tokengetir()
        {

            string imza = "";
            ManagementObjectSearcher Arama_obje = new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
            foreach (System.Management.ManagementObject diskim in Arama_obje.Get())
            {
                if (diskim["SerialNumber"] != null)
                {
                    imza = Convert.ToString(diskim["SerialNumber"]);
                }
            }

            return imza;
        }

        

        }

       
   
}
